package com.echo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.echo.entity.Exam;
import com.echo.vo.*;
import com.fasterxml.jackson.core.JsonProcessingException;

import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 考试的详细信息表 服务类
 * </p>
 *
 * @author echo
 * @since 2024-10-31
 */
public interface IExamService extends IService<Exam> {

    List<QuestionVo> getQuestionAll();

    QuestionVo updateQuestion(QuestionVo questionVo);

    String questionCreate(QuestionCreateVo questionCreateVo);

    QuestionSelectionVo getSelections();

    QuestionDetailVo getQuestionDetail(String id);

    List<ExamVo> getExamAll();

    ExamQuestionTypeVo getExamQuestionType();

    Exam create(ExamCreateVo examCreateVo, String userId);

    Exam update(ExamVo examVo, String userId);

    List<ExamCardVo> getExamCardList(String type,Boolean ifAi);

    ExamDetailVo getExamDetail(String id);

    ExamRecordAnalysisVo judge(String userId, String examId, HashMap<String, List<String>> answersMap) throws JsonProcessingException;

    List<ExamRecordVo> getExamRecordList(String userId,String type);

    RecordDetailVo getRecordDetail(String recordId);

    List<String> getExamTypes();

    List<ExamVo> getTypeToExam(String type,Boolean ifAi);

    Exam generateExam(List<String> examIdsList) throws JsonProcessingException;
}
